<?php

class Listas_InfoAutoevaluacionController extends Zend_Controller_Action {
    
    private $nav;
    private $titulo_interno = "Listas de Información de Autoevaluación";
    
    public function init() {
        parent::init();
        
        $this->nav = new App_Util_Navegacion();
		$this->nav->agregar_navegacion($this->titulo_interno, "");
		$this->view->nav = $this->nav;
    }

    public function indexAction() {
        $listasService = new Listas_Model_Listas();
        $this->view->datos = $listasService->getListasInfoAutoevaluacion();
        
    }
    
    public function crearAction() {
    	$this->nav->modificar_navegacion($this->titulo_interno, "/listas/infoautoevaluacion/index");
    	$this->nav->agregar_navegacion("Crear lista", "");

    	$listasService = new Listas_Model_Listas();
    	
    	$form = new Listas_Form_DetalleLista();
    	$form->getElement("tipolista")->setValue("A"); //tipolista = Informacion de autoevaluacion
    	$form->getElement("codsubtipolista")->addMultiOptions($listasService->getSubTipoListasInfoAutoevaluacionForSelect());
    	$form->setAction($this->view->baseUrl("/listas/infoautoevaluacion/crear"));
    	
    	if($this->getRequest()->isPost() && $form->isValid( $this->getRequest()->getPost() )) {
			try {
				$listasService->guardarLista($form->getValues());
				$this->view->priorityMessenger("Los datos se han guardado correctamente.", "success");
				$this->_helper->redirector("index");
			
			} catch(Exception $e) {
				$this->view->priorityMessenger($e->getMessage(), "error");
			}
    	}
    	$this->view->form = $form;
        $this->render("detalle");
    }
    
    public function modificarAction() {
        $listasService = new Listas_Model_Listas();
    	$form = new Listas_Form_DetalleLista();
    	$form->setAction($this->view->baseUrl("/listas/infoautoevaluacion/modificar"));
    	$form->getElement("codsubtipolista")->addMultiOptions($listasService->getSubTipoListasInfoAutoevaluacionForSelect());
            	
    	$codlista = $this->_getParam("codlista");
		if(empty($codlista)) {
			$this->_helper->redirector("index");
		}

        if($this->getRequest()->isGet()) {
			$infoLista = $listasService->getLista($codlista);
			$form->populate($infoLista);
		}
		if($this->getRequest()->isPost() && $form->isValid( $this->getRequest()->getPost() )) {
			try {
				$listasService->guardarLista($form->getValues());
				$this->view->priorityMessenger("Los datos se han guardado correctamente.", "success");
			
			} catch(Exception $e) {
				$this->view->priorityMessenger($e->getMessage(), "error");
			}
		}
				
		$this->nav->modificar_navegacion($this->titulo_interno, "/listas/infoautoevaluacion/index");
    	$this->nav->agregar_navegacion("Modificar lista: {$form->getElement("nombre")->getValue()}", "");
    	
    	$this->view->form = $form;
		$this->render("detalle");
    }
    
    public function ingresarseccionesAction() {
    	$sesionListas = new Zend_Session_Namespace("LISTAS");
    	$codlista = $this->_getParam("codlista");
    	
    	$listasService = new Listas_Model_Listas();
    	$sesionListas->infoLista = $listasService->getLista($codlista);
    	$sesionListas->infoSeccion = null;
    	$this->_helper->redirector("index", "secciones");
    }
    
}//fin de la clase

